﻿// Decompiled with JetBrains decompiler
// Type: DnProcessSimulateCommands.CApFLEXRetractSystemAttachment
// Assembly: DnProcessSimulateCommands, Version=2402.0.0.890, Culture=neutral, PublicKeyToken=null
// MVID: A885D881-AEDF-447E-852A-6F13102E089C
// Assembly location: C:\Program Files\Tecnomatix_2402\eMPower\DotNetCommands\DnProcessSimulateCommands.dll

using Tecnomatix.Engineering;


namespace DnProcessSimulateCommands;

public abstract class CApFLEXRetractSystemAttachment : CApFLEXAttachment
{
  protected CApFLEXRetractSystemAttachment(ICApCableExtentDescriptor cableExtentDescriptor)
    : base(cableExtentDescriptor)
  {
  }

  protected CApFLEXRetractSystemAttachment(ITxCable cable)
    : base(cable)
  {
  }

  public override TxCableAttachment Attachment => (TxCableAttachment) this.RetractSystemAttachment;

  protected abstract TxCableRetractSystemAttachment RetractSystemAttachment { get; }

  public double SpringConstant
  {
    get => (this.Attachment as TxCableRetractSystemAttachment).SpringConstant;
    set
    {
      (this.Attachment as TxCableRetractSystemAttachment).SpringConstant = value;
      this.NotifyPropertyChanged(nameof (SpringConstant));
    }
  }

  public double MinRetractedLength
  {
    get => (this.Attachment as TxCableRetractSystemAttachment).MinRetractedLength;
    set
    {
      (this.Attachment as TxCableRetractSystemAttachment).MinRetractedLength = value;
      this.NotifyPropertyChanged(nameof (MinRetractedLength));
    }
  }

  public double MaxRetractedLength
  {
    get => (this.Attachment as TxCableRetractSystemAttachment).MaxRetractedLength;
    set
    {
      (this.Attachment as TxCableRetractSystemAttachment).MaxRetractedLength = value;
      this.NotifyPropertyChanged(nameof (MaxRetractedLength));
    }
  }
}
